home *** CD-ROM | disk | FTP | other *** search
Oberon Text | 1994-06-23 | 3.3 KB | 106 lines |
- Syntax10.Scn.Fnt
- Syntax10b.Scn.Fnt
- MODULE AmigaAsl;
- IMPORT
- SYSTEM,A:=AmigaBase,E:=AmigaExec,U:=AmigaUtility;
- CONST
- aslName*="asl.library";
- aslScreenModeRequest*=2;
- aslTB*=U.user+80000H;
- tsmWindow*=aslTB+2;
- tsmScreen*=aslTB+40;
- tsmPubScreenName*=aslTB+41;
- tsmPrivateIDCMP*=aslTB+42;
- tsmIntuiMsgFunc*=aslTB+70;
- tsmSleepWindow*=aslTB+43;
- tsmUserData*=aslTB+52;
- tsmTextAttr*=aslTB+51;
- tsmLocale*=aslTB+50;
- tsmTitleText*=aslTB+1;
- tsmPositiveText*=aslTB+18;
- tsmNegativeText*=aslTB+19;
- tsmInitialLeftEdge*=aslTB+3;
- tsmInitialTopEdge*=aslTB+4;
- tsmInitialWidth*=aslTB+5;
- tsmInitialHeight*=aslTB+6;
- tsmInitialDisplayID*=aslTB+100;
- tsmInitialDisplayWidth*=aslTB+101;
- tsmInitialDisplayHeight*=aslTB+102;
- tsmInitialDisplayDepth*=aslTB+103;
- tsmInitialOverscanType*=aslTB+104;
- tsmInitialAutoScroll*=aslTB+105;
- tsmInitialInfoOpened*=aslTB+106;
- tsmInitialInfoLeftEdge*=aslTB+107;
- tsmInitialInfoTopEdge*=aslTB+108;
- tsmDoWidth*=aslTB+109;
- tsmDoHeight*=aslTB+110;
- tsmDoDepth*=aslTB+111;
- tsmDoOverscanType*=aslTB+112;
- tsmDoAutoScroll*=aslTB+113;
- tsmPropertyFlags*=aslTB+114;
- tsmPropertyMask*=aslTB+115;
- tsmMinWidth*=aslTB+116;
- tsmMaxWidth*=aslTB+117;
- tsmMinHeight*=aslTB+118;
- tsmMaxHeight*=aslTB+119;
- tsmMinDepth*=aslTB+120;
- tsmMaxDepth*=aslTB+121;
- tsmFilterFunc*=aslTB+122;
- tsmCustomSMList*=aslTB+123;
- ScreenModeRequester*=RECORD
- displayID*:LONGINT;
- displayWidth*:LONGINT;
- displayHeight*:LONGINT;
- displayDepth*:INTEGER;
- overscanType*:INTEGER;
- autoScroll*:INTEGER; (* BOOL *)
- bitMapWidth*:LONGINT;
- bitMapHeight*:LONGINT;
- leftEdge*:INTEGER;
- topEdge*:INTEGER;
- width*:INTEGER;
- height*:INTEGER;
- infoOpened*:INTEGER; (* BOOL *)
- infoLeftEdge*:INTEGER;
- infoTopEdge*:INTEGER;
- infoWidth*:INTEGER;
- infoHeight*:INTEGER;
- userData*:LONGINT;
- END;
- aslBase:LONGINT;
- aslVersion-:INTEGER;
- PROCEDURE AllocAslRequest*(type:LONGINT; tags:ARRAY OF U.TagItem):LONGINT;
- r:A.Regs;
- BEGIN
- r.d[0]:=type;
- r.a[0]:=SYSTEM.ADR(tags);
- A.LibCall(aslBase,-48,r);
- RETURN r.d[0];
- END AllocAslRequest;
- PROCEDURE AslRequest*(request:LONGINT; tags:ARRAY OF U.TagItem):BOOLEAN;
- r:A.Regs;
- BEGIN
- r.a[0]:=request;
- r.a[1]:=SYSTEM.ADR(tags);
- A.LibCall(aslBase,-60,r);
- RETURN r.d[0]#0;
- END AslRequest;
- PROCEDURE FreeAslRequest*(request:LONGINT);
- r:A.Regs;
- BEGIN
- r.a[0]:=request;
- A.LibCall(aslBase,-54,r);
- END FreeAslRequest;
- PROCEDURE Init;
- LibraryPtr=POINTER TO E.Library;
- lib:LibraryPtr;
- BEGIN
- aslBase:=E.OpenLibrary(aslName,37);
- IF aslBase=0 THEN HALT(99) END;
- lib:=SYSTEM.VAL(LibraryPtr,aslBase);
- aslVersion:=lib.version;
- END Init;
- BEGIN
- Init;
- END AmigaAsl.
-